package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;

/**
 * 储值卡操作记录对象 stored_value_card_operation_log
 *
 * @author ruoyi
 * @date 2025-05-21
 */
@Data
@ApiModel("储值卡操作记录")
public class StoredValueCardOperationLog extends AbdulBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键ID，唯一标识每条操作记录 */
    @ApiModelProperty("自增主键ID，唯一标识每条操作记录")
    private Long id;

    /** 储值卡编号（关联储值卡管理表的主键字段） */
    @Excel(name = "储值卡编号")
    @ApiModelProperty("储值卡编号")
    private String cardCode;

    /** 操作类型：创建储值卡（create_card）、下架储值卡（discontinue_card）、上架储值卡（launch_card）、修改储值卡（update_card） */
    @Excel(name = "操作类型：创建储值卡")
    @ApiModelProperty("操作类型")
    private String operationType;

    /** 操作开始时间（记录操作发起时刻） */
    @Excel(name = "操作开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("操作开始时间")
    private Date operationStartTime;

    /** 操作结束时间 */
    @Excel(name = "操作结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("操作结束时间")
    private Date operationEndTime;

    /** 操作员工ID */
    @Excel(name = "操作员工ID")
    @ApiModelProperty("操作员工ID（")
    private Long operatorId;

    /** 操作员工姓名 */
    @Excel(name = "操作员工姓名")
    @ApiModelProperty("操作员工姓名")
    private String operatorName;

    /** 业务类型 */
    @Excel(name = "业务类型")
    @ApiModelProperty("业务类型")
    private String businessType;

    /** 操作记录编号 */
    @Excel(name = "操作记录编号")
    @ApiModelProperty("操作记录编号")
    private String operationRecordCode;

    /** 操作名称 */
    @Excel(name = "操作名称")
    @ApiModelProperty("操作名称")
    private String operationName;

    /** 操作前数据 */
    @Excel(name = "操作前数据")
    @ApiModelProperty("操作前数据")
    private String beforeChangeData;

    /** 操作后数据 */
    @Excel(name = "操作后数据")
    @ApiModelProperty("操作后数据")
    private String afterChangeData;

    /** 变更详情 */
    @Excel(name = "变更详情")
    @ApiModelProperty("变更详情")
    private String changeDetails;

    /** 操作IP地址 */
    @Excel(name = "操作IP地址")
    @ApiModelProperty("操作IP地址")
    private String ipAddress;

    /** 操作设备信息 */
    @Excel(name = "操作设备信息")
    @ApiModelProperty("操作设备信息")
    private String deviceInfo;

    /** 手机号 */
    @Excel(name = "手机号")
    @ApiModelProperty("手机号")
    private String phone;
}